/* 
 * File:   funcoes.h
 * Author: Pedro
 *
 * Created on 13 de Agosto de 2010, 10:23
 */

#ifndef FUNCOES_H
#define	FUNCOES_H
#include "tipos_definidos.h"
#include "Classe/TabelaHash.h"

using namespace std;

namespace FuncoesEstaticas {

    string Trim(string str) {
        string retorno = "";
        for(int i = 0; i<str.size(); i++){
            if(str[i]!=' ')
                retorno+=str[i];
        }
       return str;
    }
    
    void preenchePalavrasReservadas(TabelaHash **tabelaHash){
    
       NoCelula palavra;

       for(int i = 0; i < NUMRESERVADAS; i++){
       
           palavra.lexema = SimbolosReservados[i];
           palavra.identificador = TabelaHash::Hash(SimbolosReservados[i]);
           palavra.token = tokensReservados[i];
          (**tabelaHash) << palavra;

       }

    }

 bool IsSimbolo(char c){

         switch(c){

             case '=':
             case '+':
             case '-':
             case '/':
             case '(':
             case ')':
             case'*':
                 return true;
                 break;
             default:
                 return false;
                 break;
           }

      }

  bool IsNumero(char c){

         return ((c == '0') || (c=='1')
                 || (c=='2')|| (c=='3')||
                 (c=='4')|| (c=='5')||
                 (c=='6')|| (c=='7')||
                 (c=='8')|| (c=='9'));

       }

}
#endif	/* FUNCOES_H */

